#!/bin/bash

# 在推送前执行编译操作 输出字体红色
echo  -e "\033[31m=================远程推送之前进行编译=================\033[0m"
# 这里添加实际的编译命令，例如：
./gradlew build
# 或者
# make

# 如果编译失败，阻止推送
if [ $? -ne 0 ]; then
    echo -e "\033[31m=================编译失败,请检查代码=================\033[0m"
    exit 1
fi

# 编译成功，打印推送进度
echo -e "\033[31m=================恭喜你，编译成功！开始推送=================\033[0m"

# 获取远程名称和URL
remote_name=$(git rev-parse --abbrev-ref --symbolic-full-name @{u} | cut -d '/' -f 1)
remote_url=$(git remote get-url $remote_name)

# 获取本地和远程分支名称
local_branch=$(git rev-parse --abbrev-ref HEAD)
remote_branch=$(git rev-parse --abbrev-ref --symbolic-full-name @{u} | cut -d '/' -f 2)

# 打印推送信息
echo "Pushing ${local_branch} to ${remote_name}/${remote_branch} (${remote_url})..."

# 执行推送
git push $remote_name $local_branch:$remote_branch

# 检查推送是否成功
if [ $? -ne 0 ]; then
    echo "推送失败，请稍后重试!"
    exit 1
fi

# 推送成功
echo "推送成功"
exit 0

